home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998…eptember: Technology Seed / September 98 ADC Seed CD.toast / Language Analysis Manager / DarumaDR1Package / Examples / LanguageAnalysisTestApp / Sources / TestApp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-27  |  4.7 KB  |  222 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        TestApp.h
  3.  
  4.      Contains:    Sample code for Language Analysis Manager.
  5.  
  6.      Version:    Technology:    System 8
  7.                  Release:    Daruma Developer Release 1
  8.  
  9.      Copyright:    1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Contact:    daruma@apple.com
  12.  
  13. */
  14.  
  15.  
  16. #ifndef __TESTAPP__
  17. #define __TESTAPP__
  18.  
  19. #include <ConditionalMacros.h>
  20. #include <Dialogs.h>
  21.  
  22. #include <LanguageAnalysis.h>
  23. #include <JapaneseAnalysisEngine.h>
  24.  
  25. #include "DebugUtil.h"
  26. #include "ConsoleWindow.h"
  27.  
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31.  
  32. // ========================================================================================
  33. // Type definitions
  34. // ========================================================================================
  35.  
  36. typedef struct InputDialogRec InputDialogRec, *InputDialogPtr;
  37.  
  38.  
  39. // ========================================================================================
  40. // Global variables
  41. // ========================================================================================
  42.  
  43. #ifdef    _MAINFILE_
  44. #define EXTERN
  45. #else
  46. #define EXTERN extern
  47. #endif
  48.  
  49. EXTERN ConsoleWindowRef        gConsoleWindow;
  50. EXTERN InputDialogPtr        gInputDialog;
  51. EXTERN short                gAnalysisMode;
  52.  
  53.  
  54. // ========================================================================================
  55. // Constants
  56. // ========================================================================================
  57.  
  58. //------------------------------------------------------------------------------
  59. // Misc
  60. enum
  61. {
  62.     kInputDialogSignatures    = 'inpt',
  63.     kNullEnvironmentNum        = 0,
  64.     kNumResult                = 5,
  65.     kSizeOfAnalysis            = kMaxInputLengthOfAppleJapaneseEngine,
  66.     kMaxStringDataLength    = kMaxInputLengthOfAppleJapaneseEngine,
  67.     kMaxCategoryNameLength    = 36,
  68.     kBatchAnalysisMode        = 1,
  69.     kContinuousAnalysisMode = 2
  70. };
  71.  
  72.  
  73. //------------------------------------------------------------------------------
  74. // Resources
  75. enum
  76. {
  77.     kMenuBarResID                = 128,
  78.     kInputDialogResID            = 128,
  79.     kErrorAlertResID            = 128,
  80.     kCautionAlertResID            = 129,
  81.     kSampleStrResID                = 128,
  82.     kEnvNameStrResID            = 129,
  83.     kConsoleWindowResID            = 128
  84. };
  85.  
  86. //------------------------------------------------------------------------------
  87. // Menus Titles
  88. enum
  89. {
  90.     kAppleMenuID        = 128,
  91.     kFileMenuID,
  92.     kEditMenuID,
  93.     kConsoleMenuID,
  94.     kSampleMenuID,
  95.     kOptionMenuID,
  96.     kFontMenuID            = 200,
  97.     kSizeMenuID,
  98.     kEnvironmentMenuID,
  99.     kLevelMenuID
  100. };
  101.  
  102. //------------------------------------------------------------------------------
  103. // Apple Menu items
  104. enum
  105. {
  106.     kAboutMenuItemID    = 1
  107. };
  108.  
  109. //------------------------------------------------------------------------------
  110. // File Menu items
  111. enum
  112. {
  113.     kQuitMenuItemID        = 1
  114. };
  115.  
  116. //------------------------------------------------------------------------------
  117. // Edit Menu items
  118. enum
  119. {
  120.     kUndoMenuItemID        = 1,
  121.     kEditMenuSeparator1,
  122.     kCutMenuItemID,
  123.     kCopyMenuItemID,
  124.     kPasteMenuItemID,
  125.     kClearMenuItemID,
  126.     kEditMenuSeparator2,
  127.     kSelectAllMenuItemID
  128. };
  129.  
  130. //------------------------------------------------------------------------------
  131. // Console Menu items
  132. enum
  133. {
  134.     kFontMenuItemID        = 1,
  135.     kSizeMenuItemID,
  136.     kConsoleMenuSeparator1,
  137.     kClearConsoleMenuItemID
  138. };
  139.  
  140. //------------------------------------------------------------------------------
  141. // Option Menu items
  142. enum
  143. {
  144.     kBatchMenuItemID        = 1,
  145.     kContinuousMenuItemID,
  146.     kOptionMenuSeparator1,
  147.     kSetLevelItemID
  148. };
  149.  
  150. //------------------------------------------------------------------------------
  151. // Level Menu items
  152. enum
  153. {
  154.     kLevelZeroMenuItemID        = 1,
  155.     kLevelMenuSeparator1,
  156.     kLevelOneMenuItemID
  157. };
  158.  
  159. //------------------------------------------------------------------------------
  160. // Environment Menu items
  161. enum
  162. {
  163.     kKanaKanjiMenuItemID        = 1,
  164.     kKanjiKanaMenuItemID,
  165.     kTTSMenuItemID
  166. };
  167.  
  168. //------------------------------------------------------------------------------
  169. // Input Dialog Items
  170. enum
  171. {
  172.     kConvertBtnDItemID        = 1,
  173.     k1stCandBtnDItemID,
  174.     kNextCandBtnDItemID,
  175.     kAllCandBtnDItemID,
  176.     kInputEditTextDItemID,
  177.     kEnvironPopupDItemID,
  178.     kInputStatTextDItemID,
  179.     kCandTitleDItemID
  180. };
  181.  
  182. // ========================================================================================
  183. // Structures
  184. // ========================================================================================
  185.  
  186. struct InputDialogRec
  187. {
  188.     DialogRef                        dialog;
  189.     LAMorphemeBundle                analysisBundle;    // for one-time conversion
  190.     LAMorphemePath                    analysisPath;    // for continuous conversion
  191.     LAEnvironmentRef                environmentRef;
  192.     LAContextRef                    analysisContext;
  193.     short                            curCandNum;
  194.     short                            curAnalysisClass;
  195.     Boolean                            converted;
  196. };
  197.  
  198. #if PRAGMA_ALIGN_SUPPORTED
  199. #pragma options align=mac68k
  200. #endif
  201. struct WindowResRec
  202. {
  203.     Rect            windRect;
  204.     short            procID;
  205.     short            visible;
  206.     short            goAway;
  207.     long            refcon;
  208.     unsigned char    title[1];
  209. };
  210. typedef struct WindowResRec WindowResRec, *WindowResPtr, **WindowResHandle;
  211. #if PRAGMA_ALIGN_SUPPORTED
  212. #pragma options align=reset
  213. #endif
  214.  
  215.  
  216. #ifdef __cplusplus
  217. }
  218. #endif
  219.  
  220.  
  221. #endif /* __TESTAPP__ */
  222.